Images can be generated in several ways. For example, an image can be captured using a film-based or digital camera and/or created and edited using image processing software such as ADOBE PHOTOSHOP® or the GNU IMAGE MANIPULATION PROGRAM (“GIMP”). Images captured using a film-based camera typically are stored as film negatives. Images captured using a digital camera typically are stored as digital files residing in the memory of the digital camera and/or a storage medium to which the file has been transferred (for example, a hard drive or CDROM). Images created using image processing software are typically stored as a digital file residing on a computer readable medium such as a hard drive.
An image-based product can be generated from such stored images. As used here, the term “image-based product” refers to an item, regardless of medium, that includes a visual representation of at least a portion of one or more images. One example of an image-based product is an image print (also commonly referred to as a “photograph”). For example, a user can take a picture using a conventional film-based camera and then bring the exposed film to a photofinishing laboratory to have the laboratory develop the exposed film and generate an image print.
When a customer wishes to have a high-quality image print generated from a digital image, the customer need not physically take the digital image to a photofinishing laboratory and instead can electronically transmit the digital image to an “online” photofinishing laboratory using a computer network such as the Internet. For example, the customer can use an Internet browser program (referred to herein as a “browser”) such as NETSCAPE NAVIGATOR®, which is commercially available from Netscape Communications Corporation of Mountain View, Calif., USA. The customer can direct the browser to a web site associated with an online photofinishing service and upload the digital image to a server hosting the web site. The online photofinishing service can then take the digital image from the web server and produce a high-quality image print from the digital image in a conventional manner. The online photofinishing service then typically sends the high-quality image print to the customer using a delivery service such as the UNITED STATES POSTAL SERVICE or FEDERAL EXPRESS®.
A computer system can be used for executing software that allows a user to perform tasks such as communicating with other computer users, accessing various computer resources, and viewing, creating, or otherwise manipulating electronic content—that is, any combination of text, images, movies, music or other sounds, animations, 3D virtual worlds, and links to other objects. The system can include various input/output (I/O) devices (a mouse, a keyboard, a display) and a general purpose computer having a central processor unit (CPU), an I/O unit and a memory that stores data and various programs such as an operating system and one or more application programs. A computer system also typically includes non-volatile memory (e.g., flash RAM, a hard disk drive, and/or a floppy disk or other removable storage media) and a communications card or device (e.g., a modem or network adapter) for exchanging data with a network via a communications link (e.g., a telephone line).
The computer also can be connected to various peripheral I/O devices. One of the more popular of such peripheral devices is a digital camera that enables users to take pictures and save them in digital (electronic) format. The digital camera enables users to take pictures (i.e., images), which are saved in memory within the digital camera in a digital (electronic) format. The memory is typically in the form of a memory card, floppy disc or other storage means.
After taking and storing the images, the user can connect the appliance (e.g., digital camera) to a computer system in order to upload the digital images to the computer's disk drive or other non-volatile memory. Once the digital images are uploaded to the computer system, the user can erase the digital images from the memory of the digital camera so that the user can take and store additional images using the digital camera. Typically, the digital camera is connected to the computer system only while the user is uploading images to the computer's disk drive or other non-volatile memory.
Once the digital images are stored on the computer system, a user can perform various operations on them. For example, an image viewer application can be used to view the images or a photo editor application can be used to touch-up or otherwise modify the images. In addition, an electronic messaging (e.g., e-mail) application can be used to transmit the digital images to other users.
In addition to viewing the digital images on a computer display, users often desire to have hard copies (physical prints) made of digital images. Such hard copies can be generated locally using output devices such an inkjet printer, digital silver halide printer or a dye sublimation printer. In addition, users can transmit digital images (e.g., over a computer network) to a photofinishing service, which can make hard copies of the digital images and send them back to the user.
As described above, digital images can be uploaded to an online photofinishing service. However, the upload time can be substantial. That is, depending on the number and size of images, the amount of time required to transfer data to an online photofinishing service can reach un-wielding proportions. With the introduction of even higher resolution digital input devices such as 3 Mega-Pixel Digital Cameras, the amount of information transferred for a single image continues to increase. Most digital cameras offer few resolution settings, and as such consumers often default to select a very high resolution setting to ensure that the images captured can be developed to produce photo-realistic quality photographic prints. Unfortunately, the same advances in upload technologies have not been as forthcoming. Most conventional users still connect online with modem connections that have restrictions in the speed at which data can be uploaded. Today's conventional modems operate at 56 k bytes per second in the upload direction, requiring more than thirty seconds to load an image captured at a resolution of 1600×1200 (2 Mega-Pixel Resolution). While high speed modem connections such as digital subscriber lines (DSL) are substantially faster, the user unfortunately still faces significant upload times with large orders. In addition, the bandwidth for the system is completely tied up during these uploads, restricting the users ability to multitask and perform other operations.
From the perspective of the online photofinishing service, long connections are also not desirable. The longer that communications lines are tied to a single user, obviously, the fewer orders that can be received and processed. While the discussion above has focused on the amount of time required to upload image files to the online photofinishing service, other operations executed at the photofinishing server can exacerbate the problem. For example, many online photofinishing service providers offer editing and other image manipulation tools that the user can access after images are uploaded. As the user accesses or experiments with each of these tools, server (the online photofinishing service's hosting server) resources must be allocated to support these operations. In addition, each new product and service offered by the online photofinishing service adds to the resource drain. Server resources can become a bottleneck to processing orders.
From the user's prospective, while these tools and features are desirable, their appeal can be diminished if the amount of time the user is required to wait is excessive (as each tool executes and data is transferred from the remote photofinishing server to the user's local computer). The addition of new tools and features can significantly increase network traffic and computation load at the online photofinishing service's server.
The present inventors recognized that it would be advantageous to provide users with a way to quickly and efficiently order images from a photofinishing service without unnecessarily tying up an online photofinishing service's server resources. What is desired is a system for providing all the tools and features of an online photofinishing service directly to the user without tying up the server's resources. In addition, the system should allow that one or more orders can be printed and/or distributed to multiple recipients while minimizing the user's time, effort, and expense in providing the image files to the photofinishing service.